# RT-Thread building script for component

from building import *

cwd     = GetCurrentDir()
src     = Split('''
board.c
heap.c
drv_uart.c
drv_io_config.c
drv_interrupt.c
''')
CPPPATH = [cwd]

if GetDepend('RT_USING_PIN'):
    src += ['drv_gpio.c']

if GetDepend('BSP_USING_LCD'):
    src += ['drv_lcd.c']

if GetDepend('RT_USING_HWTIMER'):
    src += ['drv_hw_timer.c']

if GetDepend('RT_USING_CPUTIME'):
    src += ['drv_cputime.c']

if GetDepend('RT_USING_I2C'):
    src += ['drv_i2c.c']

if GetDepend('RT_USING_SPI'):
    src += ['drv_spi.c']

if GetDepend('RT_USING_PWM'):
    src += ['drv_pwm.c']

if GetDepend('RT_USING_WDT'):
    src += ['drv_wdt.c']

if GetDepend('RT_USING_AUDIO'):
    src += ['drv_i2s.c']

if GetDepend('RT_USING_RTC'):
    src += ['sd3068.c']

if GetDepend('RT_USING_VIDEO'):
    src += ['drv_dvp.c']
    src += ['drv_ov5640.c']
    src += ['drv_ov2640.c']
    src += ['drv_camera.c']

group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)

objs = [group]

list = os.listdir(cwd)

for item in list:
    if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
        objs = objs + SConscript(os.path.join(item, 'SConscript'))

Return('objs')
